%ifndef BOOT_MEMORY_ZEROMEMORY32
%define BOOT_MEMORY_ZEROMEMORY32
%define lpBase [ebp + 36]
%define dwLength [ebp + 40]
bits 32
; ZeroMemory(LPVOID lpBase, DWORD dwLength)
Boot.Memory.ZeroMemory32:
Boot.Memory.ZeroMemory32.Initialize:
    pushad
    mov ebp, esp
    mov esi, lpBase
    mov ecx, dwLength
Boot.Memory.ZeroMemory32.Loop:
    mov byte [esi], 0
    inc esi
    loop Boot.Memory.ZeroMemory32.Loop
Boot.Memory.ZeroMemory32.Return:
    popad
    ret
%undef lpBase
%undef dwLength
%endif